﻿#region Copyright

//  ======================================================
//      Copyright (c) 2011 Toulr All rights reserved.
//     
//      The use and distribution terms for this software are contained in the file
//      named license.txt, which can be found in the root of this distribution.
//      By using this software in any fashion, you are agreeing to be bound by the
//      terms of this license.
//     
//     You must not remove this notice, or any other, from this software.
//  ======================================================

#endregion

#region Using Namespaces

using System.Collections.Generic;
using Toulr.Domains.System;
using Toulr.Models;
using Toulr.Models.Enums;
using Toulr.Util.Security;
using Toulr.Domains.Business;

#endregion

namespace Toulr.Services
{
    /// <summary>
    ///   应用程序运行环境服务接口
    /// </summary>
    /// Author: James Cheung
    /// MachineName: JAMESCHEUNG-PC
    /// DateTime: 2011/5/10 15:18
    public interface IApplicationContextService
    {
        /// <summary>
        ///   获取图片校验对象
        /// </summary>
        ActionResult<VerifyImage> GetVerifyCode();

        /// <summary>
        ///   获取当前Enable为True的省份列表，注意这里的省份列表内同时级联包括了城市信息
        /// </summary>
        /// <returns></returns>
        ActionResult<IList<Province>> GetProvinces();

        #region 快递公司相关

        IList<ExpressDelivery> GetExpressDeliverys(int id, string name, bool? enabled);

        /// <summary>
        /// 获取可用快递公司列表
        /// </summary>
        /// <returns></returns>
        /// hyyu 20110514
        ActionResult<IList<ExpressDelivery>> GetExpressDeliverys();

        /// <summary>
        /// 添加一个快递公司
        /// </summary>
        /// <param name="expressDelivery"></param>
        /// <returns></returns>
        /// hyyu 20110514
        ActionResult<ExpressDelivery> AddExpressDelivery(ExpressDelivery expressDelivery);

        /// <summary>
        /// 修改快递公司信息
        /// </summary>
        /// <param name="expressDelivery"></param>
        /// <returns></returns>
        /// hyyu 20110514
        ActionResult<ExpressDelivery> UpdateExpressDelivery(ExpressDelivery expressDelivery);

        /// <summary>
        /// 删除快递公司信息
        /// </summary>
        /// <param name="expressDelivery"></param>
        /// <returns></returns>
        /// hyyu 20110514
        ActionResult<ExpressDelivery> DeleteExpressDelivery(ExpressDelivery expressDelivery);

        #endregion

    }
}